home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
dev
/
lang
/
SmallEiffel.lha
/
SmallEiffel
/
bin_c
/
compile_to_jvm25.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-12-22
|
42KB
|
2,019 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79) --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://www.loria.fr/SmallEiffel --
*/
#include "compile_to_jvm.h"
void r98make(T98* C,T0* a1,T0* a2,T0* a3){
C->_clients=a1;
C->_comment=a2;
C->_list=a3;
}
void r98add_into(T98* C,T0* a1){
T0* _f=NULL;
T2 _i=0;
/*[IF*/
if(((C)->_list/*8*/)!=((void*)(NULL))){
_i=0;
while (!((_i)>(((T101*)((C)->_list/*8*/))->_upper/*8*/))) {
_f=/*(IRF4.6item*/(((T101*)((C)->_list/*8*/))->_storage/*0*/)[_i]/*)*/;
X95set_clients(_f,(C)->_clients/*0*/);
X95add_into(_f,a1);
_i=(_i)+(1);
}
}
/*FI]*/
}
/*No:FEATURE_CLAUSE.comment*/
/*No:FEATURE_CLAUSE.list*/
/*No:FEATURE_CLAUSE.clients*/
/*No:CREATION_CALL_4.start_position*/
/*No:CREATION_CALL_4.us_std_file_read*/
T0* r258add_comment(T258* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
/*AF*/else{
{T229*n=malloc(sizeof(*n));
*n=M229;
r229make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T6 r258use_current(T258* C){
T6 R=0;
/*[IF*/
if((r258run_args(C))!=((void*)(NULL))){
R=r152use_current((T152*)(r258run_args(C)));
}
/*FI]*/
R=(R)||(X109use_current((C)->_writable/*8*/));
return R;
}
T0* r258run_args(T258* C){
T0* R=NULL;
R=X165arguments((C)->_call/*20*/);
return R;
}
T0* r258to_runnable(T258* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((C)->_current_type/*12*/)==((void*)(NULL))){
r258check_writable(C,a1);
r258check_explicit_type(C);
r258check_created_type(C,(C)->_type/*24*/);
r258check_creation_clause(C,(C)->_type/*24*/);
R=(T0*)C;
}
else{
{T258*n=malloc(sizeof(*n));
*n=M258;
r258make(n,(C)->_start_position/*4*/,(C)->_type/*24*/,(C)->_writable/*8*/,(C)->_call/*20*/);
R=(T0*)n;
}
R=r258to_runnable(((T258*)R),a1);
}
/*FI]*/
return R;
}
/*No:CREATION_CALL_4.writable*/
T6 r258is_pre_computable(T258* C){
T6 R=0;
T0* _rfctbcn=NULL;
T0* _rfn=NULL;
T0* _rfct=NULL;
/*[IF*/
if(X109is_result((C)->_writable/*8*/)){
/*[IF*/
if((r258run_args(C))==((void*)(NULL))){
R=1;
}
else{
R=r152is_pre_computable((T152*)(r258run_args(C)));
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(X27is_pre_computable((C)->_run_feature/*16*/)){
}
else{
_rfct=/*X27current_type*/((T0*)((T26*)((C)->_run_feature/*16*/))->_current_type/*4*/);
_rfctbcn=((T70*)(((T63*)(X52base_class(_rfct)))->_name/*24*/))->_to_string/*0*/;
_rfn=X50to_string(/*X27name*/((T0*)((T26*)((C)->_run_feature/*16*/))->_name/*16*/));
/*[IF*/
if((((T0*)ms14_1696))==((void*)(_rfn))){
/*[IF*/
if((((T0*)ms14_1990))==((void*)(_rfctbcn))){
}
else if((((T0*)ms14_14982))==((void*)(_rfctbcn))){
}
else if((((T0*)ms14_5046))==((void*)(_rfctbcn))){
}
else if((((T0*)ms14_12700))==((void*)(_rfctbcn))){
}
else if((((T0*)ms14_16887))==((void*)(_rfctbcn))){
}
else if((((T0*)ms14_19334))==((void*)(_rfctbcn))){
}
else{
R=0;
}
/*FI]*/
}
else if((((T0*)ms14_2675))==((void*)(_rfn))){
/*[IF*/
if((((T0*)ms14_5046))==((void*)(_rfctbcn))){
}
else{
R=0;
}
/*FI]*/
}
else if((((T0*)ms14_27651))==((void*)(_rfn))){
/*[IF*/
if((((T0*)ms14_1990))==((void*)(_rfctbcn))){
}
else if((((T0*)ms14_14982))==((void*)(_rfctbcn))){
}
else if((((T0*)ms14_12700))==((void*)(_rfctbcn))){
}
else{
R=0;
}
/*FI]*/
}
else{
R=0;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CREATION_CALL_4.fz_03*/
void r258compile_to_jvm0(T0* a1){
T2 _dummy=0;
/*[IF*/
if(X52is_reference(a1)){
r23jvm_basic_new((T23*)(X52run_class(a1)));
}
else{
_dummy=X52jvm_push_default(a1);
}
/*FI]*/
}
/*No:CREATION_CALL_4.us_string*/
/*No:CREATION_CALL_4.run_feature*/
/*No:CREATION_CALL_4.us_array*/
void r258check_writable(T258* C,T0* a1){
T0* _w=NULL;
C->_current_type=a1;
_w=X109to_runnable((C)->_writable/*8*/,a1);
/*[IF*/
if((_w)==((void*)(NULL))){
r21add_position(X109start_position((C)->_writable/*8*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms253_64251);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
else{
C->_writable=_w;
}
/*FI]*/
}
void r258check_creation_clause(T258* C,T0* a1){
T0* _args=NULL;
T0* _top=NULL;
T0* _bottom=NULL;
T0* _fn=NULL;
T0* _ct=NULL;
_fn=/*X165feature_name*/((T0*)((T168*)((C)->_call/*20*/))->_feature_name/*8*/);
_top=r59base_class((T59*)(X50start_position(_fn)));
_bottom=X52base_class(a1);
/*[IF*/
if(X52is_like_current(a1)){
_fn=r63new_name_of(((T63*)_bottom),_top,_fn);
/*[IF*/
if((_fn)==((void*)(NULL))){
_fn=/*X165feature_name*/((T0*)((T168*)((C)->_call/*20*/))->_feature_name/*8*/);
r21add_position(X50start_position(_fn));
/*[IRF3.6append*/{T0* b1=((T0*)ms13_7398);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X50to_string(_fn);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms257_25652);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X52run_time_mark(a1);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_166);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}
/*FI]*/
C->_run_feature=r23get_feature((T23*)(X52run_class(a1)),_fn);
/*[IF*/
if(((C)->_run_feature/*16*/)==((void*)(NULL))){
r258cp_not_found(C,_fn);
}
/*FI]*/
/*[IF*/
if(((T22*)(oBC12small_eiffel))->_short_flag/*8*/){
}
else if(!(X52has_creation(a1,_fn))){
r21add_position(X50start_position(/*X165feature_name*/((T0*)((T168*)((C)->_call/*20*/))->_feature_name/*8*/)));
r21add_position(X50start_position(_fn));
/*[IRF3.6append*/{T0* b1=X50to_string(_fn);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms257_45856);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21add_type(a1,((T0*)ms13_47));
r21print_as_fatal_error((T21*)(oBC12eh));
}
/*FI]*/
X27add_client((C)->_run_feature/*16*/,X52run_class((C)->_current_type/*12*/));
/*[IF*/
if((X27result_type((C)->_run_feature/*16*/))!=((void*)(NULL))){
r21add_position(X27start_position((C)->_run_feature/*16*/));
r21add_position(X50start_position(_fn));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms257_67122);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
/*[IF*/
if(((r258arg_count(C))==(0))&&((X27arguments((C)->_run_feature/*16*/))!=((void*)(NULL)))){
r21add_position(X27start_position((C)->_run_feature/*16*/));
r21add_position((C)->_start_position/*4*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms257_63744);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
/*[IF*/
if((r258arg_count(C))>(0)){
_ct=/*X27current_type*/((T0*)((T26*)(r22top_rf((T22*)(oBC12small_eiffel))))->_current_type/*4*/);
_args=r152to_runnable((T152*)(X165arguments((C)->_call/*20*/)),_ct);
/*[IF*/
if((_args)==((void*)(NULL))){
r258error(r152start_position((T152*)(X165arguments((C)->_call/*20*/))),((T0*)ms13_14714));
}
else{
r152match_with(((T152*)_args),(C)->_run_feature/*16*/,_ct);
}
/*FI]*/
}
/*FI]*/
C->_call=X165make_runnable((C)->_call/*20*/,(C)->_writable/*8*/,_args,(C)->_run_feature/*16*/);
}
/*No:CREATION_CALL_4.fz_bad_arguments*/
/*No:CREATION_CALL_4.fz_09*/
void r258compile_to_jvm(T258* C){
T0* _t=NULL;
T0* _w=NULL;
_w=(C)->_writable/*8*/;
_t=X52run_type((C)->_type/*24*/);
r258compile_to_jvm0(_t);
r24inside_new((T24*)(oBC12jvm),(C)->_run_feature/*16*/,(C)->_call/*20*/);
X52jvm_check_class_invariant(_t);
X109jvm_assign(_w);
}
T2 r258arg_count(T258* C){
T2 R=0;
/*[IF*/
if(((C)->_call/*20*/)!=((void*)(NULL))){
R=X165arg_count((C)->_call/*20*/);
}
/*FI]*/
return R;
}
/*No:CREATION_CALL_4.fatal_error*/
/*No:CREATION_CALL_4.us_with_capacity*/
/*No:CREATION_CALL_4.us_blank*/
/*No:CREATION_CALL_4.us_dictionary*/
/*No:CREATION_CALL_4.us_fixed_array*/
/*No:CREATION_CALL_4.type*/
void r258check_created_type(T258* C,T0* a1){
T0* _rt=NULL;
_rt=X52run_type(a1);
/*[IF*/
if(((T22*)(oBC12small_eiffel))->_short_flag/*8*/){
}
else if(((T63*)(X52base_class(_rt)))->_is_deferred/*16*/){
r21add_type(_rt,((T0*)ms253_11858));
r258warning((C)->_start_position/*4*/,((T0*)ms253_30996));
}
/*FI]*/
/*[IF*/
if(X52is_formal_generic(a1)){
r21add_position((C)->_start_position/*4*/);
/*[IRF3.6append*/{T0* b1=((T0*)ms253_77140);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21add_type(a1,((T0*)ms253_180));
r21print_as_fatal_error((T21*)(oBC12eh));
}
/*FI]*/
r23set_at_run_time((T23*)(X52run_class(_rt)));
}
void r258warning(T0* a1,T0* a2){
r21add_position(a1);
r21warning((T21*)(oBC12eh),a2);
}
/*No:CREATION_CALL_4.current_type*/
/*No:CREATION_CALL_4.us_make*/
/*No:CREATION_CALL_4.us_std_file_write*/
/*No:CREATION_CALL_4.fz_dot*/
/*No:CREATION_CALL_4.call*/
void r258error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
/*No:CREATION_CALL_4.end_mark_comment*/
void r258make(T258* C,T0* a1,T0* a2,T0* a3,T0* a4){
C->_start_position=a1;
C->_type=a2;
C->_writable=a3;
C->_call=a4;
}
void r258check_explicit_type(T258* C){
T0* _t=NULL;
T0* _ct=NULL;
_ct=/*X27current_type*/((T0*)((T26*)(r22top_rf((T22*)(oBC12small_eiffel))))->_current_type/*4*/);
_t=X52to_runnable((C)->_type/*24*/,_ct);
/*[IF*/
if(((_t)==((void*)(NULL)))||(!(X52is_run_type(_t)))){
r21add_position(X52start_position((C)->_type/*24*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms255_33726);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
else{
C->_type=_t;
}
/*FI]*/
/*[IF*/
if(!(X52is_a((C)->_type/*24*/,X109result_type((C)->_writable/*8*/)))){
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms255_34704);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}
void r258cp_not_found(T258* C,T0* a1){
r21add_position(X50start_position(/*X165feature_name*/((T0*)((T168*)((C)->_call/*20*/))->_feature_name/*8*/)));
r21add_position(X50start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms257_53476);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
void r258afd_check(T258* C){
/*[IF*/
if((r258arg_count(C))>(0)){
r152afd_check((T152*)(r258run_args(C)));
}
/*FI]*/
}
/*No:PARSER_BUFFER.is_ready*/
T0* r74get_line(T2 a1){
T0* R=NULL;
/*[IF*/
if((a1)<=(((T68*)(oBC74text))->_upper/*8*/)){
R=/*(IRF4.6item*/(((T68*)(oBC74text))->_storage/*0*/)[a1]/*)*/;
/*[IRF3.3clear*/((((T7*)(((T7*)R))))->_count)=(0);
/*]*/
}
else{
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,80);
R=(T0*)n;
}
r68add_last((T68*)(oBC74text),R);
}
/*FI]*/
return R;
}
T0*oBC74text=NULL;
/*No:PARSER_BUFFER.path*/
T0* r74item(T2 a1){
T0* R=NULL;
R=/*(IRF4.6item*/(((T68*)(oBC74text))->_storage/*0*/)[a1]/*)*/;
return R;
}
/*No:PARSER_BUFFER.medium_line_size*/
void r74load_file(T74* C,T0* a1){
T2 _i=0;
r61connect_to((T61*)(oBC12tmp_file_read),a1);
/*[IF*/
if(/*(IRF4.7is_connected*/(((T61*)(oBC12tmp_file_read))->_path/*4*/)!=(NULL)/*)*/){
C->_path=a1;
/*[IF*/
if((r74get_line(0))!=((void*)(NULL))){
}
/*FI]*/
_i=1;
r61read_line_in((T61*)(oBC12tmp_file_read),r74get_line(_i));
while (!(r61end_of_input((T61*)(oBC12tmp_file_read)))) {
_i=(_i)+(1);
r61read_line_in((T61*)(oBC12tmp_file_read),r74get_line(_i));
}
/*[IF*/
if(/*(IRF4.7empty*/(((T7*)(/*(IRF4.6item*/(((T68*)(oBC74text))->_storage/*0*/)[_i]/*)*/))->_count/*4*/)==(0)/*)*/){
C->_count=(_i)-(1);
}
else{
C->_count=_i;
}
/*FI]*/
r61disconnect((T61*)(oBC12tmp_file_read));
}
else{
C->_path=NULL;
}
/*FI]*/
}
/*No:PARSER_BUFFER.count*/
/*No:PARSER_BUFFER.make*/
/*No:PARSER_BUFFER.unset_is_ready*/
/*No:CALL_INFIX_OR.static_value*/
/*No:CALL_INFIX_OR.feature_name*/
T6 r123is_static(T123* C){
T6 R=0;
/*[IF*/
if(X52is_boolean(X109result_type((C)->_target/*4*/))){
/*[IF*/
if((X109is_static((C)->_target/*4*/))&&(X109is_static(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
R=1;
C->_static_value_mem=(X109static_value((C)->_target/*4*/))+(X109static_value(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
/*[IF*/
if(((C)->_static_value_mem/*20*/)==(2)){
C->_static_value_mem=1;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_OR.is_manifest_string*/
T0* r123start_position(T123* C){
T0* R=NULL;
R=((T141*)((C)->_feature_name/*12*/))->_start_position/*8*/;
return R;
}
T0* r123add_comment(T123* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T234*n=malloc(sizeof(*n));
*n=M234;
r234make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r123to_integer(T123* C){
T2 R=0;
r123error(r123start_position(C),((T0*)ms13_45846));
return R;
}
T6 r123use_current(T123* C){
T6 R=0;
/*[IF*/
{/*AT*/R=r152use_current((T152*)((C)->_arguments/*8*/));
}
/*FI]*/
/*[IF*/
if(R){
}
else if(X109is_current((C)->_target/*4*/)){
R=X27use_current((C)->_run_feature/*16*/);
}
else{
R=X109use_current((C)->_target/*4*/);
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_OR.jvm_branch_if_true*/
T0* r123to_runnable(T123* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _tbee=NULL;
T0* _at=NULL;
T0* _tt=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r123runnable_expression((C)->_target/*4*/,a1);
_a=r123runnable_args((C)->_arguments/*8*/,a1);
_tt=X109result_type(_t);
_at=X109result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
/*[IF*/
/*AF*//*AE*/
/*FI]*/
_rf=r123run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*16*/)==((void*)(NULL))){
C->_target=_t;
C->_arguments=_a;
C->_run_feature=_rf;
r123run_feature_match(C,a1);
R=(T0*)C;
}
else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
R=(T0*)C;
}
else{
{T123*n=malloc(sizeof(*n));
*n=M123;
r123with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r123compile_to_jvm_into(T123* C,T0* a1){
T2 R=0;
R=r123standard_compile_to_jvm_into(C,a1);
return R;
}
/*No:CALL_INFIX_OR.is_pre_computable*/
/*No:CALL_INFIX_OR.fz_bad_argument*/
/*No:CALL_INFIX_OR.fz_iinaiv*/
T0* r123result_type(T123* C){
T0* R=NULL;
T0* _tla=NULL;
R=X27result_type((C)->_run_feature/*16*/);
/*[IF*/
if(X52is_like_current(R)){
R=/*X27current_type*/((T0*)((T26*)((C)->_run_feature/*16*/))->_current_type/*4*/);
}
else{
_tla=R;
if(NULL!=(_tla))switch(((T0*)_tla)->id) {
case 262:
break;
default:
_tla=NULL;
};/*[IF*/
if((_tla)!=((void*)(NULL))){
R=X52run_type(X109result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_OR.static_value_mem*/
/*No:CALL_INFIX_OR.run_feature*/
T0* r123runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=r152to_runnable(((T152*)a1),a2);
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(r152start_position(((T152*)a1)));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_13065);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
void r123standard_compile_target_to_jvm(T123* C){
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T123* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
X52jvm_check_class_invariant(r123result_type(C));
}
/*No:CALL_INFIX_OR.compile_to_jvm_assignment*/
/*No:CALL_INFIX_OR.fz_07*/
void r123compile_to_jvm_old(T123* C){
X109compile_to_jvm_old((C)->_target/*4*/);
/*[IF*/
{/*AT*/r152compile_to_jvm_old((T152*)((C)->_arguments/*8*/));
}
/*FI]*/
}
/*No:CALL_INFIX_OR.jvm_assign*/
/*No:CALL_INFIX_OR.jvm_branch_if_false*/
/*No:CALL_INFIX_OR.compile_to_jvm*/
/*No:CALL_INFIX_OR.arg_count*/
void r123with(T123* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
C->_run_feature=a4;
r123run_feature_match(C,a5);
}
/*No:CALL_INFIX_OR.call_proc_call_c2jvm*/
/*No:CALL_INFIX_OR.is_result*/
/*No:CALL_INFIX_OR.fatal_error*/
void r123run_feature_match(T123* C,T0* a1){
r123run_feature_has_result(C);
r152match_with((T152*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
}
/*No:CALL_INFIX_OR.arguments*/
T0* r123runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X109to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(X109start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms121_16515);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_OR.can_be_dropped*/
/*No:CALL_INFIX_OR.implicit_cast*/
/*No:CALL_INFIX_OR.compile_target_to_jvm*/
/*No:CALL_INFIX_OR.isa_dca_inline_argument*/
/*No:CALL_INFIX_OR.us_or*/
/*No:CALL_INFIX_OR.arg1*/
void r123run_feature_has_result(T123* C){
/*[IF*/
if((X27result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
r21add_position(X27start_position((C)->_run_feature/*16*/));
r21add_position(((T141*)((C)->_feature_name/*12*/))->_start_position/*8*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms120_53650);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}
T2 r123jvm_standard_branch_if_false(T123* C){
T2 R=0;
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T123* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
R=r28opcode_ifeq((T28*)(oBC12code_attribute));
return R;
}
T0* r123run_feature_for(T123* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X52run_class(X109result_type(a1));
R=r23get_rf(((T23*)_rc),a1,(C)->_feature_name/*12*/,a2);
return R;
}
/*No:CALL_INFIX_OR.target*/
void r123error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
void r123make(T123* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
{T141*n=malloc(sizeof(*n));
*n=M141;
r141make(n,r123operator(),a2);
C->_feature_name=(T0*)n;
}
{T152*n=malloc(sizeof(*n));
*n=M152;
/*[IRF3.3make_1*/((((T152*)(n)))->_first_one)=(a3);
/*]*/
C->_arguments=(T0*)n;
}
}
/*No:CALL_INFIX_OR.is_current*/
T2 r123standard_compile_to_jvm_into(T123* C,T0* a1){
T2 R=0;
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T123* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
R=X52jvm_convert_to(X52run_type(r123result_type(C)),a1);
return R;
}
/*No:CALL_INFIX_OR.is_void*/
T0* r123operator(void){
T0* R=NULL;
R=((T0*)ms14_456);
return R;
}
T2 r123jvm_standard_branch_if_true(T123* C){
T2 R=0;
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T123* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
R=r28opcode_ifne((T28*)(oBC12code_attribute));
return R;
}
void r123afd_check(T123* C){
T0* _running=NULL;
T0* _rc=NULL;
_rc=X52run_class(X109result_type((C)->_target/*4*/));
_running=(((T23*)_rc))->_running/*12*/;
/*[IF*/
if((_running)==((void*)(NULL))){
r21add_position(X109start_position((C)->_target/*4*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms121_181815);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X52run_time_mark((((T23*)_rc))->_current_type/*0*/);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms13_20094);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_warning((T21*)(oBC12eh));
r23set_at_run_time(((T23*)_rc));
}
else if((r340count(((T340*)_running)))>(1)){
r335update((C)->_target/*4*/,(C)->_run_feature/*16*/);
}
/*FI]*/
X109afd_check((C)->_target/*4*/);
/*[IF*/
{/*AT*/r152afd_check((T152*)((C)->_arguments/*8*/));
}
/*FI]*/
}
T2 r156static_value(T156* C){
T2 R=0;
T0* _rf=NULL;
T0* _running=NULL;
_running=((T23*)(X27run_class((C)->_run_feature/*16*/)))->_running/*12*/;
/*[IF*/
if(((_running)!=((void*)(NULL)))&&((r340count(((T340*)_running)))==(1))){
_rf=r23dynamic((T23*)(r340first(((T340*)_running))),(C)->_run_feature/*16*/);
/*[IF*/
if(X27is_static(_rf)){
R=X27static_value_mem(_rf);
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_N.feature_name*/
T6 r156is_static(T156* C){
T6 R=0;
T0* _rf=NULL;
T0* _running=NULL;
_running=((T23*)(X27run_class((C)->_run_feature/*16*/)))->_running/*12*/;
/*[IF*/
if(((_running)!=((void*)(NULL)))&&((r340count(((T340*)_running)))==(1))){
_rf=r23dynamic((T23*)(r340first(((T340*)_running))),(C)->_run_feature/*16*/);
/*[IF*/
if(X27is_static(_rf)){
R=1;
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_N.is_manifest_string*/
T0* r156start_position(T156* C){
T0* R=NULL;
R=X50start_position((C)->_feature_name/*8*/);
return R;
}
T0* r156add_comment(T156* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T234*n=malloc(sizeof(*n));
*n=M234;
r234make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r156to_integer(T156* C){
T2 R=0;
r156error(r156start_position(C),((T0*)ms13_45846));
return R;
}
T6 r156use_current(T156* C){
T6 R=0;
/*[IF*/
if((/*(IRF4.6arg_count*/r152count(((T152*)((C)->_arguments/*12*/)))/*)*/)>(0)){
R=r152use_current((T152*)((C)->_arguments/*12*/));
}
/*FI]*/
/*[IF*/
if(R){
}
else if(X109is_current((C)->_target/*4*/)){
R=X27use_current((C)->_run_feature/*16*/);
}
else{
R=X109use_current((C)->_target/*4*/);
}
/*FI]*/
return R;
}
/*No:CALL_N.jvm_branch_if_true*/
T0* r156to_runnable(T156* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r156runnable_expression((C)->_target/*4*/,a1);
_a=r156runnable_args((C)->_arguments/*12*/,a1);
_rf=r156run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*16*/)==((void*)(NULL))){
C->_target=_t;
C->_arguments=_a;
C->_run_feature=_rf;
r156run_feature_match(C,a1);
R=(T0*)C;
}
else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*12*/)))){
R=(T0*)C;
}
else{
{T156*n=malloc(sizeof(*n));
*n=M156;
r156with(n,_t,(C)->_feature_name/*8*/,_a,_rf,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r156compile_to_jvm_into(T156* C,T0* a1){
T2 R=0;
R=r156standard_compile_to_jvm_into(C,a1);
return R;
}
/*No:CALL_N.is_pre_computable*/
/*No:CALL_N.fz_bad_argument*/
/*No:CALL_N.fz_iinaiv*/
T0* r156result_type(T156* C){
T0* R=NULL;
T0* _e=NULL;
T0* _tla=NULL;
R=X27result_type((C)->_run_feature/*16*/);
/*[IF*/
if(X52is_like_current(R)){
R=/*X27current_type*/((T0*)((T26*)((C)->_run_feature/*16*/))->_current_type/*4*/);
}
else{
_tla=R;
if(NULL!=(_tla))switch(((T0*)_tla)->id) {
case 262:
break;
default:
_tla=NULL;
};/*[IF*/
if((_tla)!=((void*)(NULL))){
_e=r152expression((T152*)((C)->_arguments/*12*/),/*(IRF4.6rank*/(((T192*)((((T262*)_tla))->_like_what/*8*/)))->_rank/*8*//*)*/);
R=X52run_type(X109result_type(_e));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_N.run_feature*/
T0* r156runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=r152to_runnable(((T152*)a1),a2);
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(r152start_position(((T152*)a1)));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_13065);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
void r156standard_compile_target_to_jvm(T156* C){
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T156* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
X52jvm_check_class_invariant(r156result_type(C));
}
/*No:CALL_N.compile_to_jvm_assignment*/
/*No:CALL_N.fz_07*/
void r156compile_to_jvm_old(T156* C){
X109compile_to_jvm_old((C)->_target/*4*/);
/*[IF*/
if((/*(IRF4.6arg_count*/r152count(((T152*)((C)->_arguments/*12*/)))/*)*/)>(0)){
r152compile_to_jvm_old((T152*)((C)->_arguments/*12*/));
}
/*FI]*/
}
/*No:CALL_N.jvm_assign*/
/*No:CALL_N.jvm_branch_if_false*/
/*No:CALL_N.compile_to_jvm*/
/*No:CALL_N.arg_count*/
void r156with(T156* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
C->_run_feature=a4;
r156run_feature_match(C,a5);
}
/*No:CALL_N.call_proc_call_c2jvm*/
/*No:CALL_N.is_result*/
/*No:CALL_N.fatal_error*/
void r156run_feature_match(T156* C,T0* a1){
r156run_feature_has_result(C);
r152match_with((T152*)((C)->_arguments/*12*/),(C)->_run_feature/*16*/,a1);
}
/*No:CALL_N.arguments*/
T0* r156runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X109to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(X109start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms121_16515);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:CALL_N.can_be_dropped*/
/*No:CALL_N.compile_target_to_jvm*/
/*No:CALL_N.isa_dca_inline_argument*/
void r156run_feature_has_result(T156* C){
/*[IF*/
if((X27result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
r21add_position(X27start_position((C)->_run_feature/*16*/));
r21add_position(X50start_position((C)->_feature_name/*8*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms120_53650);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}
T2 r156jvm_standard_branch_if_false(T156* C){
T2 R=0;
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T156* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
R=r28opcode_ifeq((T28*)(oBC12code_attribute));
return R;
}
T0* r156run_feature_for(T156* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X52run_class(X109result_type(a1));
R=r23get_rf(((T23*)_rc),a1,(C)->_feature_name/*8*/,a2);
return R;
}
/*No:CALL_N.target*/
void r156error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
void r156make(T156* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
}
/*No:CALL_N.is_current*/
T2 r156standard_compile_to_jvm_into(T156* C,T0* a1){
T2 R=0;
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T156* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
R=X52jvm_convert_to(X52run_type(r156result_type(C)),a1);
return R;
}
/*No:CALL_N.is_void*/
T2 r156jvm_standard_branch_if_true(T156* C){
T2 R=0;
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T156* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
R=r28opcode_ifne((T28*)(oBC12code_attribute));
return R;
}
void r156afd_check(T156* C){
T0* _running=NULL;
T0* _rc=NULL;
_rc=X52run_class(X109result_type((C)->_target/*4*/));
_running=(((T23*)_rc))->_running/*12*/;
/*[IF*/
if((_running)==((void*)(NULL))){
r21add_position(X109start_position((C)->_target/*4*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms121_181815);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X52run_time_mark((((T23*)_rc))->_current_type/*0*/);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms13_20094);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_warning((T21*)(oBC12eh));
r23set_at_run_time(((T23*)_rc));
}
else if((r340count(((T340*)_running)))>(1)){
r335update((C)->_target/*4*/,(C)->_run_feature/*16*/);
}
/*FI]*/
X109afd_check((C)->_target/*4*/);
/*[IF*/
if((/*(IRF4.6arg_count*/r152count(((T152*)((C)->_arguments/*12*/)))/*)*/)>(0)){
r152afd_check((T152*)((C)->_arguments/*12*/));
}
/*FI]*/
}
void r45set_fieldref(T45* C,T0* a1){
C->_tag='\11';
r7copy((T7*)((C)->_info/*1*/),a1);
}
T6 r45is_methodref_idx(T45* C,T2 a1,T2 a2){
T6 R=0;
/*[IF*/
if(('\n')==((C)->_tag/*0*/)){
/*[IF*/
if((r45u2_to_integer(C,1))==(a1)){
R=(r45u2_to_integer(C,3))==(a2);
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CP_INFO.tag*/
T6 r45is_class_idx(T45* C,T2 a1){
T6 R=0;
/*[IF*/
if(('\7')==((C)->_tag/*0*/)){
R=(r45u2_to_integer(C,1))==(a1);
}
/*FI]*/
return R;
}
T6 r45is_fieldref_idx(T45* C,T2 a1,T2 a2){
T6 R=0;
/*[IF*/
if(('\11')==((C)->_tag/*0*/)){
/*[IF*/
if((r45u2_to_integer(C,1))==(a1)){
R=(r45u2_to_integer(C,3))==(a2);
}
/*FI]*/
}
/*FI]*/
return R;
}
void r45set_methodref(T45* C,T0* a1){
C->_tag='\n';
r7copy((T7*)((C)->_info/*1*/),a1);
}
T6 r45is_string_idx(T45* C,T2 a1){
T6 R=0;
/*[IF*/
if(('\10')==((C)->_tag/*0*/)){
R=(r45u2_to_integer(C,1))==(a1);
}
/*FI]*/
return R;
}
/*No:CP_INFO.info*/
void r45set_string(T45* C,T0* a1){
T3 _c=0;
T2 _i=0;
C->_tag='\10';
/*[IRF3.3clear*/((((T7*)((T7*)((C)->_info/*1*/))))->_count)=(0);
/*]*/
r7extend((T7*)((C)->_info/*1*/),/*(IRF4.6item*/((((T7*)a1))->_storage/*0*/)[(1)-(1)]/*)*/);
r7extend((T7*)((C)->_info/*1*/),/*(IRF4.6item*/((((T7*)a1))->_storage/*0*/)[(2)-(1)]/*)*/);
_i=3;
while (!((_i)>((((T7*)a1))->_count/*4*/))) {
_c=/*(IRF4.6item*/((((T7*)a1))->_storage/*0*/)[(_i)-(1)]/*)*/;
/*[IF*/
if((_c)==('\0')){
r7extend((T7*)((C)->_info/*1*/),'\300');
r7extend((T7*)((C)->_info/*1*/),'\200');
}
else{
r7extend((T7*)((C)->_info/*1*/),_c);
}
/*FI]*/
_i=(_i)+(1);
}
}
/*No:CP_INFO.Constant_methodref*/
/*No:CP_INFO.Constant_name_and_type*/
/*No:CP_INFO.Constant_fieldref*/
/*No:CP_INFO.Constant_class*/
void r45set_class(T45* C,T0* a1){
C->_tag='\7';
r7copy((T7*)((C)->_info/*1*/),a1);
}
T6 r45is_utf8_idx(T45* C,T0* a1){
T6 R=0;
T2 _i2=0;
T2 _i1=0;
/*[IF*/
if(('\1')==((C)->_tag/*0*/)){
/*[IF*/
if((r45u2_to_integer(C,1))==((((T7*)a1))->_count/*4*/)){
_i1=((((T7*)a1))->_count/*4*/)+(1);
_i2=(((T7*)((C)->_info/*1*/))->_count/*4*/)+(1);
R=1;
while (!((!(R))||((_i1)==(1)))) {
_i1=(_i1)-(1);
_i2=(_i2)-(1);
R=(/*(IRF4.6item*/((((T7*)a1))->_storage/*0*/)[(_i1)-(1)]/*)*/)==(/*(IRF4.6item*/(((T7*)((C)->_info/*1*/))->_storage/*0*/)[(_i2)-(1)]/*)*/);
}
}
/*FI]*/
}
/*FI]*/
return R;
}
void r45set_name_and_type(T45* C,T0* a1){
C->_tag='\14';
r7copy((T7*)((C)->_info/*1*/),a1);
}
void r45b_put(T45* C){
r24b_put_u1((T24*)(oBC12jvm),(C)->_tag/*0*/);
r24b_put_byte_string((T24*)(oBC12jvm),(C)->_info/*1*/);
}
void r45clear(T45* C){
C->_tag='\0';
/*[IF*/
if(((C)->_info/*1*/)==((void*)(NULL))){
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,4);
C->_info=(T0*)n;
}
}
else{
/*[IRF3.3clear*/((((T7*)((T7*)((C)->_info/*1*/))))->_count)=(0);
/*]*/
}
/*FI]*/
}
/*No:CP_INFO.Constant_string*/
T6 r45is_name_and_type_idx(T45* C,T2 a1,T2 a2){
T6 R=0;
/*[IF*/
if(('\14')==((C)->_tag/*0*/)){
/*[IF*/
if((r45u2_to_integer(C,1))==(a1)){
R=(r45u2_to_integer(C,3))==(a2);
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CP_INFO.Constant_utf8*/
void r45set_utf8(T45* C,T0* a1){
C->_tag='\1';
r7copy((T7*)((C)->_info/*1*/),a1);
}
/*No:CP_INFO.Constant_empty*/
T2 r45u2_to_integer(T45* C,T2 a1){
T2 R=0;
R=(((unsigned char)/*(IRF4.6item*/(((T7*)((C)->_info/*1*/))->_storage/*0*/)[(a1)-(1)]/*)*/))*(256);
R=(R)+(((unsigned char)/*(IRF4.6item*/(((T7*)((C)->_info/*1*/))->_storage/*0*/)[((a1)+(1))-(1)]/*)*/));
return R;
}
T0* r89to_old_name(T89* C,T0* a1){
T0* R=NULL;
T0* _fn_to_key=NULL;
T2 _i=0;
_i=1;
_fn_to_key=X50to_key(a1);
while (!(((R)!=((void*)(NULL)))||((_i)>(((T91*)((C)->_list/*0*/))->_upper/*8*/)))) {
/*[IF*/
if((X50to_key(((T90*)(r91item((T91*)((C)->_list/*0*/),_i)))->_new_name/*4*/))==((void*)(_fn_to_key))){
R=((T90*)(r91item((T91*)((C)->_list/*0*/),_i)))->_old_name/*0*/;
}
/*FI]*/
_i=(_i)+(1);
}
/*[IF*/
if((R)==((void*)(NULL))){
R=a1;
}
/*FI]*/
return R;
}
T0* r89to_new_name(T89* C,T0* a1){
T0* R=NULL;
T0* _fn_to_key=NULL;
T2 _i=0;
_i=1;
_fn_to_key=X50to_key(a1);
while (!(((R)!=((void*)(NULL)))||((_i)>(((T91*)((C)->_list/*0*/))->_upper/*8*/)))) {
/*[IF*/
if((X50to_key(((T90*)(r91item((T91*)((C)->_list/*0*/),_i)))->_old_name/*0*/))==((void*)(_fn_to_key))){
R=((T90*)(r91item((T91*)((C)->_list/*0*/),_i)))->_new_name/*4*/;
}
/*FI]*/
_i=(_i)+(1);
}
/*[IF*/
if((R)==((void*)(NULL))){
R=a1;
}
/*FI]*/
return R;
}
/*No:RENAME_LIST.add_last*/
void r89get_started(T89* C,T0* a1){
T0* _rp2=NULL;
T0* _rp1=NULL;
T2 _j=0;
T2 _i=0;
_i=((T91*)((C)->_list/*0*/))->_upper/*8*/;
while (!((_i)==(0))) {
_rp1=r91item((T91*)((C)->_list/*0*/),_i);
/*[IF*/
if(!(r63has(((T63*)a1),(((T90*)_rp1))->_old_name/*0*/))){
r21add_position(X50start_position((((T90*)_rp1))->_old_name/*0*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms89_102564);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
_i=(_i)-(1);
_j=_i;
while (!((_j)==(0))) {
_rp2=r91item((T91*)((C)->_list/*0*/),_j);
/*[IF*/
if((X50to_key((((T90*)_rp2))->_old_name/*0*/))==((void*)(X50to_key((((T90*)_rp1))->_old_name/*0*/)))){
r21add_position(X50start_position((((T90*)_rp1))->_old_name/*0*/));
r21add_position(X50start_position((((T90*)_rp2))->_old_name/*0*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms89_122084);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
_j=(_j)-(1);
}
}
}
/*No:RENAME_LIST.make*/
T6 r89affect(T89* C,T0* a1){
T6 R=0;
T0* _fn_to_key=NULL;
T0* _rp=NULL;
T2 _i=0;
_i=((T91*)((C)->_list/*0*/))->_upper/*8*/;
while (!((R)||((_i)==(0)))) {
_rp=r91item((T91*)((C)->_list/*0*/),_i);
_fn_to_key=X50to_key(a1);
/*[IF*/
if(((X50to_key((((T90*)_rp))->_new_name/*4*/))==((void*)(_fn_to_key)))||((X50to_key((((T90*)_rp))->_old_name/*0*/))==((void*)(_fn_to_key)))){
R=1;
}
else{
_i=(_i)-(1);
}
/*FI]*/
}
return R;
}
/*No:RENAME_LIST.list*/
/*No:RENAME_LIST.fatal_error*/
void r28opcode_putfield(T28* C,T2 a1,T2 a2){
r28opcode(C,181,a2);
r28add_u2(a1);
}
void r28opcode_getfield(T28* C,T2 a1,T2 a2){
r28opcode(C,180,a2);
r28add_u2(a1);
}
/*No:CODE_ATTRIBUTE.opcode_iload_3*/
void r28opcode(T28* C,T2 a1,T2 a2){
T2 _cs=0;
/*[IRF3.6add_u1*/{T2 b1=a1;
r48add_last((T48*)(oBC28code),b1);
}/*]*/
_cs=((C)->_stack_level/*8*/)+(a2);
/*[IF*/
if((_cs)>=(0)){
C->_stack_level=_cs;
}
/*FI]*/
/*[IF*/
if(((C)->_stack_level/*8*/)>((C)->_max_stack/*0*/)){
C->_max_stack=(C)->_stack_level/*8*/;
}
/*FI]*/
}
/*No:CODE_ATTRIBUTE.opcode_irem*/
void r28opcode_ldc(T28* C,T2 a1){
/*[IF*/
if((a1)<(255)){
r28opcode(C,18,1);
/*[IRF3.6add_u1*/{T2 b1=a1;
r48add_last((T48*)(oBC28code),b1);
}/*]*/
}
else{
r28opcode(C,19,1);
r28add_u2(a1);
}
/*FI]*/
}
void r28opcode_system_err(T28* C){
T2 _idx=0;
_idx=r29idx_fieldref3((T29*)(oBC12constant_pool),((T0*)ms28_35584),((T0*)ms13_1005),((T0*)ms13_36708a));
r28opcode_getstatic(C,_idx,1);
}
void r28runtime_error_bad_target(T28* C,T0* a1,T0* a2,T0* a3){
T2 _idx=0;
T0* _cp=NULL;
_cp=oBC12constant_pool;
r28push_position(C,a1);
r28opcode_ldc(C,r29idx_string(((T29*)_cp),X52run_time_mark(a2)));
/*[IF*/
if((a3)==((void*)(NULL))){
/*[IRF3.4opcode_aconst_null*/r28opcode(C,1,1);
/*]*/
}
else{
r28opcode_ldc(C,r29idx_string(((T29*)_cp),a3));
}
/*FI]*/
_idx=r29idx_methodref3(((T29*)_cp),((T0*)ms13_42084),((T0*)ms28_80664),((T0*)ms28_544698));
r28opcode_invokestatic(C,_idx,-(6));
}
void r28opcode_bitset_clone(T28* C){
T2 _idx=0;
T0* _cp=NULL;
_cp=oBC12constant_pool;
_idx=r29idx_methodref3(((T29*)_cp),((T0*)ms13_37376a),((T0*)ms13_2720),((T0*)ms13_31100));
r28opcode_invokevirtual(C,_idx,0);
_idx=r29idx_class2(((T29*)_cp),((T0*)ms13_37376a));
r28opcode_checkcast(C,_idx);
}
void r28opcode_push_manifest_string(T28* C,T0* a1){
T2 _ms_idx=0;
_ms_idx=r29idx_string2((T29*)(oBC12constant_pool),a1);
r28opcode_ldc(C,_ms_idx);
r28opcode_java_string2eiffel_string(C);
}
T2 r28opcode_ifnull(T28* C){
T2 R=0;
r28opcode(C,198,-(1));
R=r28skip_2_bytes();
return R;
}
/*No:CODE_ATTRIBUTE.max_locals*/
/*No:CODE_ATTRIBUTE.opcode_astore_1*/
/*No:CODE_ATTRIBUTE.opcode_dup_x1*/
/*No:CODE_ATTRIBUTE.opcode_iconst_1*/
/*No:CODE_ATTRIBUTE.us_die_with_code*/
/*No:CODE_ATTRIBUTE.opcode_areturn*/
/*No:CODE_ATTRIBUTE.opcode_freturn*/
/*No:CODE_ATTRIBUTE.opcode_dreturn*/
/*No:CODE_ATTRIBUTE.opcode_ireturn*/
/*No:CODE_ATTRIBUTE.opcode_dneg*/
/*No:CODE_ATTRIBUTE.opcode_fneg*/
/*No:CODE_ATTRIBUTE.opcode_ineg*/
T2 r28extra_local(T28* C,T0* a1){
T2 R=0;
R=(C)->_max_locals/*4*/;
C->_max_locals=((C)->_max_locals/*4*/)+(X52jvm_stack_space(a1));
return R;
}
/*No:CODE_ATTRIBUTE.skip_check*/
void r28opcode_system_in(T28* C){
T2 _idx=0;
_idx=r29idx_fieldref3((T29*)(oBC12constant_pool),((T0*)ms28_35584),((T0*)ms13_436),((T0*)ms13_36708));
r28opcode_getstatic(C,_idx,1);
}
T2 r28opcode_if_icmpgt(T28* C){
T2 R=0;
r28opcode(C,163,-(2));
R=r28skip_2_bytes();
return R;
}
T2 r28opcode_if_icmpge(T28* C){
T2 R=0;
r28opcode(C,162,-(2));
R=r28skip_2_bytes();
return R;
}
T2 r28opcode_if_icmplt(T28* C){
T2 R=0;
r28opcode(C,161,-(2));
R=r28skip_2_bytes();
return R;
}
T2 r28opcode_if_icmple(T28* C){
T2 R=0;
r28opcode(C,164,-(2));
R=r28skip_2_bytes();
return R;
}
T2 r28opcode_if_icmpeq(T28* C){
T2 R=0;
r28opcode(C,159,-(2));
R=r28skip_2_bytes();
return R;
}
T2 r28opcode_if_acmpeq(T28* C){
T2 R=0;
r28opcode(C,165,-(2));
R=r28skip_2_bytes();
return R;
}
T2 r28opcode_if_icmpne(T28* C){
T2 R=0;
r28opcode(C,160,-(2));
R=r28skip_2_bytes();
return R;
}
T2 r28opcode_if_acmpne(T28* C){
T2 R=0;
r28opcode(C,166,-(2));
R=r28skip_2_bytes();
return R;
}
/*No:CODE_ATTRIBUTE.resolve_branches*/
void r28opcode_string2float(T28* C,T0* a1){
r28opcode_string2double(C,a1);
/*[IRF3.4opcode_d2f*/r28opcode(C,144,-(1));
/*]*/
}
void r28opcode_checkcast(T28* C,T2 a1){
r28opcode(C,192,0);
r28add_u2(a1);
}
void r28opcode_invokestatic(T28* C,T2 a1,T2 a2){
r28opcode(C,184,a2);
r28add_u2(a1);
}
/*No:CODE_ATTRIBUTE.fz_a0*/
T2 r28opcode_iflt(T28* C){
T2 R=0;
r28opcode(C,155,-(1));
R=r28skip_2_bytes();
return R;
}
T2 r28opcode_ifgt(T28* C){
T2 R=0;
r28opcode(C,157,-(1));
R=r28skip_2_bytes();
return R;
}
void r28store_in(T28* C,T0* a1){
T2 _i=0;
r28append_u2(a1,((T29*)(oBC12constant_pool))->_idx_constant_utf8/*4*/);
r28append_u4(a1,(12)+(/*(IRF4.9program_counter*//*(IRF4.6count*/(((T48*)(oBC28code))->_upper/*8*/)+(1)/*)*//*)*/));
r28append_u2(a1,(C)->_max_stack/*0*/);
r28append_u2(a1,(C)->_max_locals/*4*/);
r28append_u4(a1,/*(IRF4.9program_counter*//*(IRF4.6count*/(((T48*)(oBC28code))->_upper/*8*/)+(1)/*)*//*)*/);
_i=0;
while (!((_i)>(((T48*)(oBC28code))->_upper/*8*/))) {
/*[IRF3.6append_u1*/{T0* b1=a1;
T2 b2=/*(IRF4.6item*/(((T48*)(oBC28code))->_storage/*0*/)[_i]/*)*/;
r7extend(((T7*)b1),((T3)(b2)));
}/*]*/
_i=(_i)+(1);
}
r47store_in(a1);
r28append_u2(a1,0);
}
T0*oBC28branches=NULL;
T2 r28skip_2_bytes(void){
T2 R=0;
R=/*(IRF4.9program_counter*//*(IRF4.6count*/(((T48*)(oBC28code))->_upper/*8*/)+(1)/*)*//*)*/;
r48add_last((T48*)(oBC28code),0);
r48add_last((T48*)(oBC28code),0);
return R;
}
void r28opcode_push_integer(T28* C,T2 a1){
/*[IF*/
if((a1)<(-(32768))){
r28push_strange_integer(C,a1);
}
else if((a1)<(-(128))){
r28opcode_sipush(C,a1);
}
else if((a1)<(-(1))){
r28opcode_bipush(C,(256)+(a1));
}
else if((a1)<=(5)){
/*[IRF3.6opcode_iconst_i*/{T28* C1=C;
T2 b1=a1;
r28opcode(C1,(3)+(b1),1);
}/*]*/
}
else if((a1)<=(127)){
r28opcode_bipush(C,a1);
}
else if((a1)<=(32767)){
r28opcode_sipush(C,a1);
}
else{
r28push_strange_integer(C,a1);
}
/*FI]*/
}
void r28opcode_newarray(T28* C,T2 a1){
r28opcode(C,188,0);
/*[IRF3.6add_u1*/{T2 b1=a1;
r48add_last((T48*)(oBC28code),b1);
}/*]*/
}
/*No:CODE_ATTRIBUTE.us_se_system*/
/*No:CODE_ATTRIBUTE.opcode_f2d*/
/*No:CODE_ATTRIBUTE.opcode_i2d*/
/*No:CODE_ATTRIBUTE.fz_a6*/
void r28opcode_bipush(T28* C,T2 a1){
r28opcode(C,16,1);
/*[IRF3.6add_u1*/{T2 b1=a1;
r48add_last((T48*)(oBC28code),b1);
}/*]*/
}
void r28opcode_sipush(T28* C,T2 a1){
r28opcode(C,17,1);
r28add_u2(a1);
}
/*No:CODE_ATTRIBUTE.fz_a7*/
void r28opcode_bytes_array2eiffel_string(T28* C){
T0* _rc_string=NULL;
T2 _loc=0;
T0* _cp=NULL;
_cp=oBC12constant_pool;
_rc_string=r276run_class((T276*)(r28type_string()));
_loc=r28extra_local_size1(C);
r28opcode_astore(C,_loc);
r23jvm_basic_new(((T23*)_rc_string));
/*[IRF3.4opcode_dup*/r28opcode(C,89,1);
/*]*/
r28opcode_aload(C,_loc);
/*[IRF3.4opcode_arraylength*/r28opcode(C,190,0);
/*]*/
r28opcode_putfield(C,r29idx_eiffel_string_count_fieldref(((T29*)_cp)),-(2));
/*[IRF3.4opcode_dup*/r28opcode(C,89,1);
/*]*/
r28opcode_aload(C,_loc);
/*[IRF3.4opcode_arraylength*/r28opcode(C,190,0);
/*]*/
r28opcode_putfield(C,r29idx_eiffel_string_capacity_fieldref(((T29*)_cp)),-(2));
/*[IRF3.4opcode_dup*/r28opcode(C,89,1);
/*]*/
r28opcode_aload(C,_loc);
r28opcode_putfield(C,r29idx_eiffel_string_storage_fieldref(((T29*)_cp)),-(2));
}
void r28opcode_java_string2eiffel_string(T28* C){
r28opcode_java_string2bytes_array(C);
r28opcode_bytes_array2eiffel_string(C);
}
void r28runtime_se_getenv(T28* C){
T2 _idx=0;
T0* _cp=NULL;
T2 _point1=0;
_cp=oBC12constant_pool;
_idx=r29idx_methodref3(((T29*)_cp),((T0*)ms13_42084),((T0*)ms28_14328),((T0*)ms28_102372));
r28opcode_invokestatic(C,_idx,0);
/*[IRF3.4opcode_dup*/r28opcode(C,89,1);
/*]*/
_point1=r28opcode_ifnull(C);
r28opcode_java_string2eiffel_string(C);
r28resolve_u2_branch(_point1);
}
T0*oBC28code=NULL;
/*No:CODE_ATTRIBUTE.check_flag_idx*/
void r28opcode_java_string2bytes_array(T28* C){
T2 _idx=0;
_idx=r29idx_methodref3((T29*)(oBC12constant_pool),((T0*)ms13_34048),((T0*)ms13_11536),((T0*)ms13_992));
r28opcode_invokevirtual(C,_idx,0);
}
void r28se_trace(T28* C,T0* a1,T0* a2){
T2 _idx=0;
T0* _cp=NULL;
/*[IF*/
if((a2)!=((void*)(NULL))){
_cp=oBC12constant_pool;
X52jvm_push_local(a1,0);
r28push_position(C,a2);
/*[IRF3.3clear*/((((T7*)((T7*)(oBC28tmp_string))))->_count)=(0);
/*]*/
r7extend((T7*)(oBC28tmp_string),'\50');
/*[IF*/
if(X52is_basic_eiffel_expanded(a1)){
X52jvm_descriptor_in(a1,oBC28tmp_string);
}
else{
r7append((T7*)(oBC28tmp_string),((T0*)ms28_28278));
}
/*FI]*/
r7append((T7*)(oBC28tmp_string),((T0*)ms28_51304));
_idx=r29idx_methodref3(((T29*)_cp),((T0*)ms13_42084),((T0*)ms28_10912),oBC28tmp_string);
r28opcode_invokestatic(C,_idx,(-(X52jvm_stack_space(a1)))-(3));
}
else{
/*[IRF3.4opcode_pop*/r28opcode(C,87,-(1));
/*]*/
}
/*FI]*/
}
/*No:CODE_ATTRIBUTE.opcode_dload_0*/
/*No:CODE_ATTRIBUTE.opcode_aload_0*/
T0* r28type_string(void){
if(fBC12type_string==0){
fBC12type_string=1;
{T276*n=malloc(sizeof(*n));
*n=M276;
r276make(n,NULL);
oBC12type_string=(T0*)n;
}
}
return oBC12type_string;}
/*No:CODE_ATTRIBUTE.fz_descriptor1*/
/*No:CODE_ATTRIBUTE.fz_i*/
void r28runtime_print_run_time_stack(T28* C){
T2 _idx=0;
T0* _cp=NULL;
_cp=oBC12constant_pool;
_idx=r29idx_methodref3(((T29*)_cp),((T0*)ms13_42084),((T0*)ms14_54240),((T0*)ms13_519));
r28opcode_invokestatic(C,_idx,0);
}
/*No:CODE_ATTRIBUTE.fz_jvm_root*/
/*No:CODE_ATTRIBUTE.opcode_dup_x2*/
/*No:CODE_ATTRIBUTE.us_se_string2double*/
/*No:CODE_ATTRIBUTE.opcode_faload*/
/*No:CODE_ATTRIBUTE.opcode_iaload*/
/*No:CODE_ATTRIBUTE.opcode_daload*/
/*No:CODE_ATTRIBUTE.opcode_baload*/
/*No:CODE_ATTRIBUTE.opcode_aaload*/
/*No:CODE_ATTRIBUTE.opcode_dsub*/
/*No:CODE_ATTRIBUTE.opcode_fsub*/
/*No:CODE_ATTRIBUTE.opcode_isub*/
T0*oBC28exception_table=NULL;
void r28resolve_with(T0* a1){
T2 _i=0;
_i=(((T48*)a1))->_upper/*8*/;
while (!((_i)<(0))) {
r28resolve_u2_branch(/*(IRF4.6item*/((((T48*)a1))->_storage/*0*/)[_i]/*)*/);
_i=(_i)-(1);
}
}
void r28opcode_aload(T28* C,T2 a1){
/*[IF*/
if((a1)<=(3)){
r28opcode(C,(42)+(a1),1);
}
else{
r28opcode(C,25,1);
/*[IRF3.6add_u1*/{T2 b1=a1;
r48add_last((T48*)(oBC28code),b1);
}/*]*/
}
/*FI]*/
}
void r28opcode_fload(T28* C,T2 a1){
/*[IF*/
if((a1)<=(3)){
r28opcode(C,(34)+(a1),1);
}
else{
r28opcode(C,23,1);
/*[IRF3.6add_u1*/{T2 b1=a1;
r48add_last((T48*)(oBC28code),b1);
}/*]*/
}
/*FI]*/
}
void r28opcode_dload(T28* C,T2 a1){
/*[IF*/
if((a1)<=(3)){
r28opcode(C,(38)+(a1),2);
}
else{
r28opcode(C,24,2);
/*[IRF3.6add_u1*/{T2 b1=a1;
r48add_last((T48*)(oBC28code),b1);
}/*]*/
}
/*FI]*/
}
void r28opcode_iload(T28* C,T2 a1){
/*[IF*/
if((a1)<=(3)){
r28opcode(C,(26)+(a1),1);
}
else{
r28opcode(C,21,1);
/*[IRF3.6add_u1*/{T2 b1=a1;
r48add_last((T48*)(oBC28code),b1);
}/*]*/
}
/*FI]*/
}
/*No:CODE_ATTRIBUTE.us_sfw_open*/
/*No:CODE_ATTRIBUTE.us_sfr_open*/
T2 r28opcode_goto(T28* C){
T2 R=0;
r28opcode(C,167,0);
R=r28skip_2_bytes();
return R;
}